#include <iostream>
#define STRING_LENGTH 100
#define TARGET_CHARACTER '#'

int main()
{
    using namespace std;
    char names[10][STRING_LENGTH];

    cout << "Please input a line (" << TARGET_CHARACTER << "to continue) :";
    for (int i = 0; i < 10; i++)
    {
        cin.get(names[i], TARGET_CHARACTER);
        cout << names[i] << endl;
        cin.clear();
        while (cin.get() == TARGET_CHARACTER)
        {
            continue;
        }
        
    }

    // cin.get() 有多种重载形式，就常用的来介绍：

    //     第一种：接收一个字符

    // char a;
    // a = cin.get();
    // // 或者写成cin.get(a); 都是可以的

    //     第二种，接收字符串，有两种形式：一前者以换行符结束，后者可以指定结束符

    // char carray[10] = {} ；
    // cin.get(carray, 10); //前者，换行符不读取，残留在缓冲区。
    // cin.get(carray, 10, 'b') // 后者,如果遇到字符'b'则终止读。'b'不读取，残留在缓冲区。
    // //这里的10代表接收9个字符+1个'\0'


    for (size_t i = 0; i < 10; i++)
    {
        cout << names[i] << endl;
    }
    
    return 0;
}